'\" te
.\" Copyright 1989 AT&T
.\" Portions Copyright (c) 2001, Sun Microsystems, Inc.  All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH CURSES 3CURSES "Oct 23, 2001"
.SH NAME
curses \- CRT screen handling and optimization package
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR... ] \fIfile\fR.. .-lcurses [ \fIlibrary\fR... ]
#include <curses.h>
.fi

.SH DESCRIPTION
.sp
.LP
The \fBcurses\fR library routines give the user a terminal-independent method
of updating character screens with reasonable optimization.
.sp
.LP
The \fBcurses\fR package allows:  overall screen, window and pad manipulation;
output to windows and pads; reading terminal input; control over terminal and
\fBcurses\fR input and output options; environment query routines; color
manipulation; use of soft label keys; terminfo access; and access to low-level
\fBcurses\fR routines.
.sp
.LP
To initialize the routines, the routine \fBinitscr()\fR or \fBnewterm()\fR must
be called before any of the other routines that deal with windows and screens
are used. The routine \fBendwin()\fR must be called before exiting. To get
character-at-a-time input without echoing (most interactive, screen oriented
programs want this), the following sequence should be used:
.sp
.LP
\fBinitscr,cbreak,noecho;\fR
.sp
.LP
Most programs would additionally use the sequence:
.sp
.LP
\fBnonl,intrflush(stdscr,FALSE),keypad(stdscr,TRUE);\fR
.sp
.LP
Before a \fBcurses\fR program is run, the tab stops of the terminal should be
set and its initialization strings, if defined, must be output. This can be
done by executing the \fBtput init\fR command after the shell environment
variable \fBTERM\fR has been exported. (See \fBterminfo\fR(5) for further
details.)
.sp
.LP
The \fBcurses\fR library permits manipulation of data structures, called
\fIwindows\fR, which can be thought of as two-dimensional arrays of characters
representing all or part of a \fBCRT\fR screen. A default window called
\fBstdscr\fR, which is the size of the terminal screen, is supplied. Others may
be created with \fBnewwin\fR(3CURSES).
.sp
.LP
Windows are referred to by variables declared as \fBWINDOW *\fR. These data
structures are manipulated with routines described on 3CURSES pages (whose
names begin "curs_"). Among which the most basic routines are
\fBmove\fR(3CURSES) and \fBaddch\fR(3CURSES). More general versions of these
routines are included with names beginning with \fBw\fR, allowing the user to
specify a window. The routines not beginning with \fBw\fR affect \fBstdscr\fR.
.sp
.LP
After using routines to manipulate a window, \fBrefresh\fR(3CURSES) is called,
telling \fBcurses\fR to make the user's \fBCRT\fR screen look like
\fBstdscr\fR. The characters in a window are actually of type \fBchtype\fR,
(character and attribute data) so that other information about the character
may also be stored with each character.
.sp
.LP
Special windows called \fIpads\fR may also be manipulated. These are windows
which are not constrained to the size of the screen and whose contents need not
be completely displayed. See \fBcurs_pad\fR(3CURSES) for more information.
.sp
.LP
In addition to drawing characters on the screen, video attributes and colors
may be included, causing the characters to show up in such modes as underlined,
in reverse video, or in color on terminals that support such display
enhancements. Line drawing characters may be specified to be output. On input,
\fBcurses\fR is also able to translate arrow and function keys that transmit
escape sequences into single values. The video attributes, line drawing
characters, and input values use names, defined in <\fBcurses.h\fR>,  such as
\fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR.
.sp
.LP
If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the
program is executing in a window environment, line and column information in
the environment will override information read by \fIterminfo\fR. This would
effect a program running in an AT&T 630 layer, for example, where the size of a
screen is changeable.
.sp
.LP
If the environment variable \fBTERMINFO\fR is defined, any program using
\fBcurses\fR checks for a local terminal definition before checking in the
standard place. For example, if \fBTERM\fR is set to \fBatt4424\fR, then the
compiled terminal definition is found in
.sp
.LP
\fB/usr/share/lib/terminfo/a/att4424\fR.
.sp
.LP
(The `\fBa\fR' is copied from the first letter of \fBatt4424\fR to avoid
creation of huge directories.) However, if \fBTERMINFO\fR is set to
\fB$HOME/myterms\fR, \fBcurses\fR first checks
.sp
.LP
\fB$HOME/myterms/a/att4424\fR,
.sp
.LP
and if that fails, it then checks
.sp
.LP
\fB/usr/share/lib/terminfo/a/att4424\fR.
.sp
.LP
This is useful for developing experimental definitions or when write permission
in \fB/usr/share/lib/terminfo\fR is not available.
.sp
.LP
The integer variables \fBLINES\fR and \fBCOLS\fR are defined in
\fB<curses.h>\fR and will be filled in by \fBinitscr\fR with the size of the
screen. The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and
\fB0\fR, respectively.
.sp
.LP
The \fBcurses\fR routines also define the \fBWINDOW *\fR variable \fBcurscr\fR
which is used for certain low-level operations like clearing and redrawing a
screen containing garbage. The \fBcurscr\fR can be used in only a few routines.
.SS "International Functions"
.sp
.LP
The number of bytes and the number of columns to hold a character from the
supplementary character set is locale-specific (locale category \fBLC_CTYPE\fR)
and can be specified in the character class table.
.sp
.LP
For editing, operating at the character level is entirely appropriate. For
screen formatting, arbitrary movement of characters on screen is not desirable.
.sp
.LP
Overwriting characters (\fBaddch\fR, for example) operates on a screen level.
Overwriting a character by a character that requires a different number of
columns may produce \fIorphaned columns\fR. These orphaned columns are filled
with background characters.
.sp
.LP
Inserting characters (\fBinsch\fR, for example) operates on a character level
(that is, at the character boundaries). The specified character is inserted
right before the character, regardless of which column of a character the
cursor points to. Before insertion, the cursor position is adjusted to the
first column of the character.
.sp
.LP
As with inserting characters, deleting characters (\fBdelch\fR, for example)
operates on a character level (that is, at the character boundaries). The
character at the cursor is deleted whichever column of the character the cursor
points to. Before deletion, the cursor position is adjusted to the first column
of the character.
.sp
.LP
A \fImulti-column\fR character cannot be put on the last column of a line. When
such attempts are made, the last column is set to the background character. In
addition, when such an operation creates orphaned columns, the orphaned columns
are filled with background characters.
.sp
.LP
Overlapping and overwriting a window follows the operation of overwriting
characters around its edge. The orphaned columns, if any, are handled as in the
character operations.
.sp
.LP
The cursor is allowed to be placed anywhere in a window. If the insertion or
deletion is made when the cursor points to the second or later column position
of a character that holds multiple columns, the cursor is adjusted to the first
column of the character before the insertion or deletion.
.SS "Routine and Argument Names"
.sp
.LP
Many \fBcurses\fR routines have two or more versions. The routines prefixed
with \fBw\fR require a window argument. The routines prefixed with \fBp\fR
require a pad argument. Those without a prefix generally use \fBstdscr\fR.
.sp
.LP
The routines prefixed with \fBmv\fR require an \fIx\fR and \fIy\fR coordinate
to move to before performing the appropriate action. The \fBmv\fR routines
imply a call to \fBmove\fR(3CURSES) before the call to the other routine. The
coordinate \fIy\fR always refers to the row (of the window), and \fIx\fR always
refers to the column. The upper left-hand corner is always (0,0), not (1,1).
.sp
.LP
The routines prefixed with \fBmvw\fR take both a window argument and \fIx\fR
and \fIy\fR coordinates. The window argument is always specified before the
coordinates.
.sp
.LP
In each case, \fIwin\fR is the window affected, and \fIpad\fR is the pad
affected; \fIwin\fR and \fIpad\fR are always pointers to type \fBWINDOW\fR
.sp
.LP
Option setting routines require a Boolean flag \fIbf\fR with the value
\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR. The variables
\fIch\fR and \fIattrs\fR below are always of type \fBchtype\fR. The types
\fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and \fBchtype\fR are defined in
\fB<curses.h>\fR\&. The type \fBTERMINAL\fR is defined in \fB<term.h>\fR\&. All
other arguments are integers.
.SS "Routine Name Index"
.sp
.LP
The following table lists each \fBcurses\fR routine and the name of the manual
page on which it is described.
.sp
.ne 2
.na
\fBcurses Routine Name\fR
.ad
.RS 23n
Manual Page Name
.RE

.sp
.ne 2
.na
\fBaddch\fR
.ad
.RS 23n
.BR curs_addch (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddchnstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddchstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddnstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddnwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddwch\fR
.ad
.RS 23n
.BR curs_addwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddwchnstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddwchstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBaddwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBadjcurspos\fR
.ad
.RS 23n
.BR curs_alecompat (3CURSES)
.RE

.sp
.ne 2
.na
\fBattroff\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBattron\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBattrset\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBbaudrate\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBbeep\fR
.ad
.RS 23n
.BR curs_beep (3CURSES)
.RE

.sp
.ne 2
.na
\fBbkgd\fR
.ad
.RS 23n
.BR curs_bkgd (3CURSES)
.RE

.sp
.ne 2
.na
\fBbkgdset\fR
.ad
.RS 23n
.BR curs_bkgd (3CURSES)
.RE

.sp
.ne 2
.na
\fBborder\fR
.ad
.RS 23n
.BR curs_border (3CURSES)
.RE

.sp
.ne 2
.na
\fBbox\fR
.ad
.RS 23n
.BR curs_border (3CURSES)
.RE

.sp
.ne 2
.na
\fBcan_change_color\fR
.ad
.RS 23n
.BR curs_color (3CURSES)
.RE

.sp
.ne 2
.na
\fBcbreak\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBclear\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBclearok\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBclrtobot\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBclrtoeol\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBcolor_content\fR
.ad
.RS 23n
.BR curs_color (3CURSES)
.RE

.sp
.ne 2
.na
\fBcopywin\fR
.ad
.RS 23n
.BR curs_overlay (3CURSES)
.RE

.sp
.ne 2
.na
\fBcurs_set\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBdef_prog_mode\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBdef_shell_mode\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBdel_curterm\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBdelay_output\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBdelch\fR
.ad
.RS 23n
.BR curs_delch (3CURSES)
.RE

.sp
.ne 2
.na
\fBdeleteln\fR
.ad
.RS 23n
.BR curs_deleteln (3CURSES)
.RE

.sp
.ne 2
.na
\fBdelscreen\fR
.ad
.RS 23n
.BR curs_initscr (3CURSES)
.RE

.sp
.ne 2
.na
\fBdelwin\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBderwin\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBdoupdate\fR
.ad
.RS 23n
.BR curs_refresh (3CURSES)
.RE

.sp
.ne 2
.na
\fBdupwin\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBecho\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBechochar\fR
.ad
.RS 23n
.BR curs_addch (3CURSES)
.RE

.sp
.ne 2
.na
\fBechowchar\fR
.ad
.RS 23n
.BR curs_addwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBendwin\fR
.ad
.RS 23n
.BR curs_initscr (3CURSES)
.RE

.sp
.ne 2
.na
\fBerase\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBerasechar\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBfilter\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBflash\fR
.ad
.RS 23n
.BR curs_beep (3CURSES)
.RE

.sp
.ne 2
.na
\fBflushinp\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetbegyx\fR
.ad
.RS 23n
.BR curs_getyx (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetch\fR
.ad
.RS 23n
.BR curs_getch (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetmaxyx\fR
.ad
.RS 23n
.BR curs_getyx (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetnwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetparyx\fR
.ad
.RS 23n
.BR curs_getyx (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetstr\fR
.ad
.RS 23n
.BR curs_getstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetsyx\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetwch\fR
.ad
.RS 23n
.BR curs_getwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetwin\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBgetyx\fR
.ad
.RS 23n
.BR curs_getyx (3CURSES)
.RE

.sp
.ne 2
.na
\fBhalfdelay\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBhas_colors\fR
.ad
.RS 23n
.BR curs_color (3CURSES)
.RE

.sp
.ne 2
.na
\fBhas_ic\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBhas_il\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBidcok\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBidlok\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBimmedok\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBinch\fR
.ad
.RS 23n
.BR curs_inch (3CURSES)
.RE

.sp
.ne 2
.na
\fBinchnstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinchstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinit_color\fR
.ad
.RS 23n
.BR curs_color (3CURSES)
.RE

.sp
.ne 2
.na
\fBinit_pair\fR
.ad
.RS 23n
.BR curs_color (3CURSES)
.RE

.sp
.ne 2
.na
\fBinitscr\fR
.ad
.RS 23n
.BR curs_initscr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinnstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinnwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinsch\fR
.ad
.RS 23n
.BR curs_insch (3CURSES)
.RE

.sp
.ne 2
.na
\fBinsdelln\fR
.ad
.RS 23n
.BR curs_deleteln (3CURSES)
.RE

.sp
.ne 2
.na
\fBinsertln\fR
.ad
.RS 23n
.BR curs_deleteln (3CURSES)
.RE

.sp
.ne 2
.na
\fBinsnstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinsnwstr\fR
.ad
.RS 23n
.BR curs_inswstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinsstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinswch\fR
.ad
.RS 23n
.BR curs_inswch (3CURSES)
.RE

.sp
.ne 2
.na
\fBinswstr\fR
.ad
.RS 23n
.BR curs_inswstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBintrflush\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBinwch\fR
.ad
.RS 23n
.BR curs_inwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBinwchnstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinwchstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBinwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBis_linetouched\fR
.ad
.RS 23n
.BR curs_touch (3CURSES)
.RE

.sp
.ne 2
.na
\fBis_wintouched\fR
.ad
.RS 23n
.BR curs_touch (3CURSES)
.RE

.sp
.ne 2
.na
\fBisendwin\fR
.ad
.RS 23n
.BR curs_initscr (3CURSES)
.RE

.sp
.ne 2
.na
\fBkeyname\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBkeypad\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBkillchar\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBleaveok\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBlongname\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBmeta\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBmove\fR
.ad
.RS 23n
.BR curs_move (3CURSES)
.RE

.sp
.ne 2
.na
\fBmovenextch\fR
.ad
.RS 23n
.BR curs_alecompat (3CURSES)
.RE

.sp
.ne 2
.na
\fBmoveprevch\fR
.ad
.RS 23n
.BR curs_alecompat (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddch\fR
.ad
.RS 23n
.BR curs_addch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddchnstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddchstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddnstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddnwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddwch\fR
.ad
.RS 23n
.BR curs_addwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddwchnstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddwchstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvaddwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvcur\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvdelch\fR
.ad
.RS 23n
.BR curs_delch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvderwin\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvgetch\fR
.ad
.RS 23n
.BR curs_getch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvgetnwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvgetstr\fR
.ad
.RS 23n
.BR curs_getstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvgetwch\fR
.ad
.RS 23n
.BR curs_getwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvgetwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinch\fR
.ad
.RS 23n
.BR curs_inch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinchnstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinchstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinnstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinnwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinsch\fR
.ad
.RS 23n
.BR curs_insch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinsnstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinsnwstr\fR
.ad
.RS 23n
.BR curs_inswstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinsstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinswch\fR
.ad
.RS 23n
.BR curs_inswch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinswstr\fR
.ad
.RS 23n
.BR curs_inswstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinwch\fR
.ad
.RS 23n
.BR curs_inwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinwchnstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinwchstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvinwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvprintw\fR
.ad
.RS 23n
.BR curs_printw (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvscanw\fR
.ad
.RS 23n
.BR curs_scanw (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddch\fR
.ad
.RS 23n
.BR curs_addch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddchnstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddchstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddnstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddnwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddwch\fR
.ad
.RS 23n
.BR curs_addwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddwchnstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddwchstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwaddwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwdelch\fR
.ad
.RS 23n
.BR curs_delch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwgetch\fR
.ad
.RS 23n
.BR curs_getch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwgetnwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwgetstr\fR
.ad
.RS 23n
.BR curs_getstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwgetwch\fR
.ad
.RS 23n
.BR curs_getwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwgetwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwin\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinch\fR
.ad
.RS 23n
.BR curs_inch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinchnstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinchstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinnstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinnwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinsch\fR
.ad
.RS 23n
.BR curs_insch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinsnstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinsstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinswch\fR
.ad
.RS 23n
.BR curs_inswch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinswstr\fR
.ad
.RS 23n
.BR curs_inswstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinwch\fR
.ad
.RS 23n
.BR curs_inwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinwchnstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinwchstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwinwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwprintw\fR
.ad
.RS 23n
.BR curs_printw (3CURSES)
.RE

.sp
.ne 2
.na
\fBmvwscanw\fR
.ad
.RS 23n
.BR curs_scanw (3CURSES)
.RE

.sp
.ne 2
.na
\fBnapms\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBnewpad\fR
.ad
.RS 23n
.BR curs_pad (3CURSES)
.RE

.sp
.ne 2
.na
\fBnewterm\fR
.ad
.RS 23n
.BR curs_initscr (3CURSES)
.RE

.sp
.ne 2
.na
\fBnewwin\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBnl\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBnocbreak\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBnodelay\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBnoecho\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBnonl\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBnoqiflush\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBnoraw\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBnotimeout\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBoverlay\fR
.ad
.RS 23n
.BR curs_overlay (3CURSES)
.RE

.sp
.ne 2
.na
\fBoverwrite\fR
.ad
.RS 23n
.BR curs_overlay (3CURSES)
.RE

.sp
.ne 2
.na
\fBpair_content\fR
.ad
.RS 23n
.BR curs_color (3CURSES)
.RE

.sp
.ne 2
.na
\fBpechochar\fR
.ad
.RS 23n
.BR curs_pad (3CURSES)
.RE

.sp
.ne 2
.na
\fBpechowchar\fR
.ad
.RS 23n
.BR curs_pad (3CURSES)
.RE

.sp
.ne 2
.na
\fBpnoutrefresh\fR
.ad
.RS 23n
.BR curs_pad (3CURSES)
.RE

.sp
.ne 2
.na
\fBprefresh\fR
.ad
.RS 23n
.BR curs_pad (3CURSES)
.RE

.sp
.ne 2
.na
\fBprintw\fR
.ad
.RS 23n
.BR curs_printw (3CURSES)
.RE

.sp
.ne 2
.na
\fBputp\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBputwin\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBqiflush\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBraw\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBredrawwin\fR
.ad
.RS 23n
.BR curs_refresh (3CURSES)
.RE

.sp
.ne 2
.na
\fBrefresh\fR
.ad
.RS 23n
.BR curs_refresh (3CURSES)
.RE

.sp
.ne 2
.na
\fBreset_prog_mode\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBreset_shell_mode\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBresetty\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBrestartterm\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBripoffline\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBsavetty\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBscanw\fR
.ad
.RS 23n
.BR curs_scanw (3CURSES)
.RE

.sp
.ne 2
.na
\fBscr_dump\fR
.ad
.RS 23n
.BR curs_scr_dump (3CURSES)
.RE

.sp
.ne 2
.na
\fBscr_init\fR
.ad
.RS 23n
.BR curs_scr_dump (3CURSES)
.RE

.sp
.ne 2
.na
\fBscr_restore\fR
.ad
.RS 23n
.BR curs_scr_dump (3CURSES)
.RE

.sp
.ne 2
.na
\fBscr_set\fR
.ad
.RS 23n
.BR curs_scr_dump (3CURSES)
.RE

.sp
.ne 2
.na
\fBscroll\fR
.ad
.RS 23n
.BR curs_scroll (3CURSES)
.RE

.sp
.ne 2
.na
\fBscrollok\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBset_curterm\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBset_term\fR
.ad
.RS 23n
.BR curs_initscr (3CURSES)
.RE

.sp
.ne 2
.na
\fBsetscrreg\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBsetsyx\fR
.ad
.RS 23n
.BR curs_kernel (3CURSES)
.RE

.sp
.ne 2
.na
\fBsetterm\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBsetupterm\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_attroff\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_attron\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_attrset\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_clear\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_init\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_label\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_noutrefresh\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_refresh\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_restore\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_set\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBslk_touch\fR
.ad
.RS 23n
.BR curs_slk (3CURSES)
.RE

.sp
.ne 2
.na
\fBsrcl\fR
.ad
.RS 23n
.BR curs_scroll (3CURSES)
.RE

.sp
.ne 2
.na
\fBstandend\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBstandout\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBstart_color\fR
.ad
.RS 23n
.BR curs_color (3CURSES)
.RE

.sp
.ne 2
.na
\fBsubpad\fR
.ad
.RS 23n
.BR curs_pad (3CURSES)
.RE

.sp
.ne 2
.na
\fBsubwin\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBsyncok\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBtermattrs\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBtermname\fR
.ad
.RS 23n
.BR curs_termattrs (3CURSES)
.RE

.sp
.ne 2
.na
\fBtgetent\fR
.ad
.RS 23n
.BR curs_termcap (3CURSES)
.RE

.sp
.ne 2
.na
\fBtgetflag\fR
.ad
.RS 23n
.BR curs_termcap (3CURSES)
.RE

.sp
.ne 2
.na
\fBtgetnum\fR
.ad
.RS 23n
.BR curs_termcap (3CURSES)
.RE

.sp
.ne 2
.na
\fBtgetstr\fR
.ad
.RS 23n
.BR curs_termcap (3CURSES)
.RE

.sp
.ne 2
.na
\fBtgoto\fR
.ad
.RS 23n
.BR curs_termcap (3CURSES)
.RE

.sp
.ne 2
.na
\fBtigetflag\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBtigetnum\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBtigetstr\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBtimeout\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBtouchline\fR
.ad
.RS 23n
.BR curs_touch (3CURSES)
.RE

.sp
.ne 2
.na
\fBtouchwin\fR
.ad
.RS 23n
.BR curs_touch (3CURSES)
.RE

.sp
.ne 2
.na
\fBtparm\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBtputs\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBtypeahead\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBunctrl\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBungetch\fR
.ad
.RS 23n
.BR curs_getch (3CURSES)
.RE

.sp
.ne 2
.na
\fBungetwch\fR
.ad
.RS 23n
.BR curs_getwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBuntouchwin\fR
.ad
.RS 23n
.BR curs_touch (3CURSES)
.RE

.sp
.ne 2
.na
\fBuse_env\fR
.ad
.RS 23n
.BR curs_util (3CURSES)
.RE

.sp
.ne 2
.na
\fBvidattr\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBvidputs\fR
.ad
.RS 23n
.BR curs_terminfo (3CURSES)
.RE

.sp
.ne 2
.na
\fBvwprintw\fR
.ad
.RS 23n
.BR curs_printw (3CURSES)
.RE

.sp
.ne 2
.na
\fBvwscanw\fR
.ad
.RS 23n
.BR curs_scanw (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddch\fR
.ad
.RS 23n
.BR curs_addch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddchnstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddchstr\fR
.ad
.RS 23n
.BR curs_addchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddnstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddnwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddstr\fR
.ad
.RS 23n
.BR curs_addstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddwch\fR
.ad
.RS 23n
.BR curs_addwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddwchnstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddwchstr\fR
.ad
.RS 23n
.BR curs_addwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwaddwstr\fR
.ad
.RS 23n
.BR curs_addwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwadjcurspos\fR
.ad
.RS 23n
.BR curs_alecompat (3CURSES)
.RE

.sp
.ne 2
.na
\fBwattroff\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwattron\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwattrset\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwbkgd\fR
.ad
.RS 23n
.BR curs_bkgd (3CURSES)
.RE

.sp
.ne 2
.na
\fBwbkgdset\fR
.ad
.RS 23n
.BR curs_bkgd (3CURSES)
.RE

.sp
.ne 2
.na
\fBwborder\fR
.ad
.RS 23n
.BR curs_border (3CURSES)
.RE

.sp
.ne 2
.na
\fBwclear\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBwclrtobot\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBwclrtoeol\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBwcursyncup\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBwdelch\fR
.ad
.RS 23n
.BR curs_delch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwdeleteln\fR
.ad
.RS 23n
.BR curs_deleteln (3CURSES)
.RE

.sp
.ne 2
.na
\fBwechochar\fR
.ad
.RS 23n
.BR curs_addch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwechowchar\fR
.ad
.RS 23n
.BR curs_addwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwerase\fR
.ad
.RS 23n
.BR curs_clear (3CURSES)
.RE

.sp
.ne 2
.na
\fBwgetch\fR
.ad
.RS 23n
.BR curs_getch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwgetnstr\fR
.ad
.RS 23n
.BR curs_getstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwgetnwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwgetstr\fR
.ad
.RS 23n
.BR curs_getstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwgetwch\fR
.ad
.RS 23n
.BR curs_getwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwgetwstr\fR
.ad
.RS 23n
.BR curs_getwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwhline\fR
.ad
.RS 23n
.BR curs_border (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinch\fR
.ad
.RS 23n
.BR curs_inch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinchnstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinchstr\fR
.ad
.RS 23n
.BR curs_inchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinnstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinnwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinsch\fR
.ad
.RS 23n
.BR curs_insch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinsdelln\fR
.ad
.RS 23n
.BR curs_deleteln (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinsertln\fR
.ad
.RS 23n
.BR curs_deleteln (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinsnstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinsnwstr\fR
.ad
.RS 23n
.BR curs_inswstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinsstr\fR
.ad
.RS 23n
.BR curs_insstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinstr\fR
.ad
.RS 23n
.BR curs_instr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinswch\fR
.ad
.RS 23n
.BR curs_inswch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinswstr\fR
.ad
.RS 23n
.BR curs_inswstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinwch\fR
.ad
.RS 23n
.BR curs_inwch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinwchnstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinwchstr\fR
.ad
.RS 23n
.BR curs_inwchstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwinwstr\fR
.ad
.RS 23n
.BR curs_inwstr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwmove\fR
.ad
.RS 23n
.BR curs_move (3CURSES)
.RE

.sp
.ne 2
.na
\fBwmovenextch\fR
.ad
.RS 23n
.BR curs_alecompat (3CURSES)
.RE

.sp
.ne 2
.na
\fBwmoveprevch\fR
.ad
.RS 23n
.BR curs_alecompat (3CURSES)
.RE

.sp
.ne 2
.na
\fBwnoutrefresh\fR
.ad
.RS 23n
.BR curs_refresh (3CURSES)
.RE

.sp
.ne 2
.na
\fBwprintw\fR
.ad
.RS 23n
.BR curs_printw (3CURSES)
.RE

.sp
.ne 2
.na
\fBwredrawln\fR
.ad
.RS 23n
.BR curs_refresh (3CURSES)
.RE

.sp
.ne 2
.na
\fBwrefresh\fR
.ad
.RS 23n
.BR curs_refresh (3CURSES)
.RE

.sp
.ne 2
.na
\fBwscanw\fR
.ad
.RS 23n
.BR curs_scanw (3CURSES)
.RE

.sp
.ne 2
.na
\fBwscrl\fR
.ad
.RS 23n
.BR curs_scroll (3CURSES)
.RE

.sp
.ne 2
.na
\fBwsetscrreg\fR
.ad
.RS 23n
.BR curs_outopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBwstandend\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwstandout\fR
.ad
.RS 23n
.BR curs_attr (3CURSES)
.RE

.sp
.ne 2
.na
\fBwsyncdown\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBwsyncup\fR
.ad
.RS 23n
.BR curs_window (3CURSES)
.RE

.sp
.ne 2
.na
\fBwtimeout\fR
.ad
.RS 23n
.BR curs_inopts (3CURSES)
.RE

.sp
.ne 2
.na
\fBwtouchln\fR
.ad
.RS 23n
.BR curs_touch (3CURSES)
.RE

.sp
.ne 2
.na
\fBwvline\fR
.ad
.RS 23n
.BR curs_border (3CURSES)
.RE

.SH RETURN VALUES
.sp
.LP
Routines that return an integer return \fBERR\fR upon failure and an integer
value other than \fBERR\fR upon successful completion, unless otherwise noted
in the routine descriptions.
.sp
.LP
All macros return the value of the \fBw\fR version, except \fBsetscrreg()\fR,
\fBwsetscrreg()\fR, \fBgetyx()\fR, \fBgetbegyx()\fR, and \fBgetmaxyx()\fR. The
return values of \fBsetscrreg()\fR, \fBwsetscrreg()\fR, \fBgetyx()\fR,
\fBgetbegyx()\fR, and \fBgetmaxyx()\fR are undefined (that is, these should not
be used as the right-hand side of assignment statements).
.sp
.LP
Routines that return pointers return \fINULL\fR on error.
.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
MT-Level	Unsafe
.TE

.SH SEE ALSO
.sp
.LP
.BR libcurses (3LIB),
.BR curses (3XCURSES),
.BR libcurses (3XCURSES),
.BR terminfo (5),
.BR attributes (7)
.SH NOTES
.sp
.LP
The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
and <\fBunctrl.h\fR>.
